;(function(){
    $('.js-example-basic-single').select2();
//功能按钮监听事件
    $(".menu_buttons .menu_3").on("click",function(){
        var node=$(this);
        $("#myModalTitle").text(node.text());
        if(node.text().indexOf("新增")>-1){
            $("#myModalBody").load(node.attr("data-url"),function(){
                $("#myModal").modal("show");
            });
        }else if(node.text().indexOf("修改")>-1){
            var $ids=[];
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请选择一项","");
                return false;
            }else{
                $("#myModalBody").load(node.attr("data-url"),{"id":$ids[0]},function(){
                    $("#myModal").modal("show");
                });
                return;
            }
        }else if(node.text().indexOf("菜单")>-1){
            var $ids=[];
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请选择一项","");
                return false;
            }else{
                $("#myModalBody").load(node.attr("data-url")+"/id/"+$ids[0],function(){
                    $("#myModal").modal("show");
                });
                return;
            }
        }else if(node.text().indexOf("PC设置")>-1){
            var $ids=[];
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请选择一项","");
                return false;
            }else{
                $("#myModalBody").load(node.attr("data-url")+"/id/"+$ids[0],function(){
                    $("#myModal").modal("show");
                });
                return;
            }

        }
        else if(node.text().indexOf("小程序")>-1){
            var $ids=[];
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请选择一项","");
                return false;
            }else{
                $("#myModalBody").load(node.attr("data-url")+"/id/"+$ids[0],function(){
                    $("#myModal").modal("show");
                });
                return;
            }

        }
         else if(node.text().indexOf("停用")>-1){
            var $ids=[];
            var url=node.attr("data-url");
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请至少选择一项","");
                return false;
            }else{
                url=url+"/id/"+$ids;
                delete_dialog(url,"确定要停用么？");
                return false;
            }
        }
          else if(node.text().indexOf("启用")>-1){
            var $ids=[];
            var url=node.attr("data-url");
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请至少选择一项","");
                return false;
            }else{
                url=url+"/id/"+$ids;
                delete_dialog(url,"确定要启用么？");
                return false;
            }
        }
        else if(node.text().indexOf("删除")>-1){
            var $ids=[];
            var url=node.attr("data-url");
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请至少选择一项","");
                return false;
            }else{
            	alert("无权操作！");
            	return false;
               // url=url+"/id/"+$ids;
               // delete_dialog(url);
               // return false;
            }
        }else if(node.text().indexOf("PC快捷登陆")>-1){
            var $ids=[];
            var url=node.attr("data-url");
            $("#data-table input[name='ids']:checked").each(function(){
                $ids.push($(this).val());
            });
            if($ids.length!=1){
                toastr['error']("请选择一项","");
                return false;
            }else{
                url=url+"/id/"+$ids;
               window.open(url);
            }
        } else{
            $("#myModalBody").load(node.attr("data-url"),function(){
                $("#myModal").modal("show");
            });
            return;
        }
    });

///////////////////////数据表格////////////////////////////
//统一点击删除弹出对话框
    var userManage = {

        currentItem : null,
        fuzzySearch : false,
        getQueryCondition : function(data) {
            var param = {};
            //组装排序参数
            if (data.order&&data.order.length&&data.order[0]) {
                switch (data.order[0].column) {
                    case 1:
                        param.orderColumn = "id";
                        break;
                    case 2:
                        param.orderColumn = "shop_name";
                        break;
                    case 3:
                        param.orderColumn = "parent_id";
                        break;
                    case 4:
                        param.orderColumn = "api_version";
                        break;
                    case 5:
                        param.orderColumn = "create_time";
                        break;
                }
                param.orderDir = data.order[0].dir;
            }
            //组装查询参数
            param.shop_id= $("#myform #shop_id").val();
            param.api_version = $("#myform #api_version").val();
            param.shop_name = $("#myform #shop_name").val();

            //组装分页参数
            param.startIndex = data.start;
            param.pageSize = data.length;
            return param;
        },

    }

    var $table = $('#data-table');
    var _table = $table.dataTable($.extend(true,{},CONSTANT.DATA_TABLES.DEFAULT_OPTION, {
        ajax : function(data, callback, settings) {//ajax配置为function,手动调用异步查询
            //手动控制遮罩
            //封装请求参数
            var param = userManage.getQueryCondition(data);
            $("#excel_param").val($.param(param));
            loading();
            $.ajax({
                type: "GET",
                url: "/operation/shop/ajaxIndex",
                cache : false,  //禁用缓存
                data: param,    //传入已封装的参数
                dataType: "json",
                success: function(result) {
                    //setTimeout仅为测试延迟效果
                    setTimeout(function(){
                        //异常判断与处理
                        if (result.errorCode) {
                            toastr['error']("查询失败errorCode:"+result.errorCode);
                            close_loading();
                            return;
                        }

                        //封装返回数据，这里仅演示了修改属性名
                        var returnData = {};
                        returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
                        returnData.recordsTotal = result.total;
                        returnData.recordsFiltered = result.total;//后台不实现过滤功能，每次查询均视作全部结果
                        returnData.data = result.pageData;
                        //关闭遮罩
                        //调用DataTables提供的callback方法，代表数据已封装完成并传回DataTables进行渲染
                        //此时的数据需确保正确无误，异常判断应在执行此回调前自行处理完毕
                        callback(returnData);
                    },200);
                    close_loading();
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    toastr['error']("查询失败");
                    close_loading();
                }
            });
        },
        columns: [
            CONSTANT.DATA_TABLES.COLUMN.CHECKBOX,
            {
                data: "id",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "shop_name",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "parent_name",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "api_version",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "create_time",
                render : CONSTANT.DATA_TABLES.RENDER.ELLIPSIS,//会显示省略号的列，需要用title属性实现划过时显示全部文本的效果
            },
            {
                data: "has_menu",
                render : function(data){
                    if(data==1){
                        return "<span class='label label-danger'>已配置</span>";
                    }else{
                        return "<span class='label label-default'>未配置</span>";
                    }
                }
            },
            {
                data: "pc_set",
                render : function(data){
                    if(data==1){
                        return "<span class='label label-danger'>已配置</span>";
                    }else{
                        return "<span class='label label-default'>未配置</span>";
                    }
                }
            },
            {
                data: "status",
                render : function(data){
                    if(data==1){
                        return "<span class='label label-danger'>启用</span>";
                    }else{
                        return "<span class='label label-default'>停用</span>";
                    }
                }
            },
            {
                data: "start_time",
                render : function(data){
                    if (data) {
                        data = data * 1000; //获取毫秒数
                        return new Date(data).Format("yyyy-MM-dd");
                    } else {
                        return "-";
                    }
                }
            },
            {
                data: "expire_time",
                render : function(data){
                    if (data) {
                        data = data * 1000; //获取毫秒数
                        return new Date(data).Format("yyyy-MM-dd");
                    } else {
                        return "-";
                    }
                }
            }
        ],
        "createdRow": function ( row, data, index ) {},
        "drawCallback": function( settings ) {
            // $(":checkbox[name='cb-check-all']",$wrapper).prop('checked', false);
            //默认选中第一行
            // $("tbody tr",$table).eq(0).click();
        }
    })).api();//此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象
    $("#myform  #btn-advanced-search").click(function(){
        _table.draw();
    });

    //行点击事件
    $("tbody",$table).on("click","tr",function(event) {
        $(this).addClass("active").siblings().removeClass("active");
        //获取该行对应的数据
        var item = _table.row($(this).closest('tr')).data();
    });
})();

Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

